草庐IT

javascript - 从 Controller 调用 javascript 函数

全部标签

ruby - 在 Ruby 中覆盖方法调用?

我试图在调用特定类的任何方法时获得回调。覆盖“发送”不起作用。似乎send在正常的Ruby方法调用中没有被调用。举个例子。classTestdefself.items@items||=[]endend如果我们在Test上覆盖发送,然后调用Test.items,则不会调用发送。我想做的事情可行吗?我宁愿不使用set_trace_func,因为它可能会大大减慢速度。 最佳答案 使用alias或alias_method:#thecurrentimplementationofTest,definedbysomeoneelse#andfort

ruby - 调用 super 时不要传递 block

如何为super调用设置一个block为nil?classAdeffooifblock_given?result=yield#dostuffwiththeyieldresultend#somemorecodeendendclassBblockcalled#=>blockcalled我不想让block两次。block_given?在类A中是否有可能返回false?背景是我不拥有A类,我无法更改它的foo方法,但我想避免调用我的block两次。我也不想将虚拟/空block传递给super,因为A的foo方法的行为在给定block时发生变化。 最佳答案

ruby - 如何测试其中包含 gets.chomp 的函数?

我有一个像这样使用gets.chomp的简单函数:defwelcome_userputs"Welcome!Whatwouldyouliketodo?"action=gets.chompend我想使用ruby内置的TestCase套件来测试它,如下所示:classViewTest问题是,当我运行那个测试时,gets.chomp停止了测试,因为它需要用户输入一些东西。有没有一种方法可以仅使用ruby来模拟用户输入? 最佳答案 您可以创建一个pipe并将其“读取端”分配给$stdin。写入管道的“写入端”然后模拟用户输入。下面是一个使用小

ruby-on-rails - PinsController#index : declare the formats your controller responds to in the class level 中的运行时错误

在我的Rails应用程序上工作时,我在终端中使用以下命令创建了一个“Pins”脚手架:railsgeneratescaffoldPinsdescription:string--skip-stylesheets这会在我的应用程序中创建脚手架,然后我运行:rakedb:migrate一切顺利。我没有更改任何生成的页面,但是当我最终尝试访问localhost:3000上的新脚手架时,出现以下错误:RuntimeErrorinPinsController#indexInordertouserespond_with,firstyouneedtodeclaretheformatsyourcontr

ruby-on-rails - 从 Ruby/Rails 调用 Lisp?

如何从Rails应用程序调用Lisp程序?...例如,允许最终用户在Rails网络应用程序中输入一段文本,让Lisp程序处理文本并将结果返回给Rails应用程序? 最佳答案 我想到了几种方法:使用Process执行lisp程序.通过标准输入与Lisp程序通信,并让Lisp程序通过标准输出输出其结果。做与上面相同的事情,但通过namedpipes进行通信反而。让你的Ruby代码将数据写入一个命名管道,然后让Lisp程序从那个管道读取数据,然后将数据写入out另一个命名管道,然后你用Ruby读取它应用程序。Lisp程序可以作为守护程序在

ruby - 如何通过包含模块来包装 Ruby 方法的调用?

我想在我的某些类(class)中发生某些事情时收到通知。我想以这样一种方式进行设置,即我的方法在这些类中的实现不会改变。我在想我会有类似以下模块的东西:moduleNotificationsextendActiveSupport::ConcernmoduleClassMethodsdefnotify_when(method)puts"the#{method}methodwascalled!"#additionalsuitablenotificationcode#now,runthemethodindicatedbythe`method`argumentendendend然后我可以像这样

ruby-on-rails - 如何在 Controller Action 中切换 bool 属性

我有一个操作可以简单地将#active属性切换到相反的bool状态:如果@blog.active==true然后更新它到非事件如果@blog.active==false然后更新它到事件我在Controller中获得了以下自定义操作,但必须有一些Rails方法才能更优雅地执行此操作:classBlogsController是否有一种Rails方法可以将bool属性更新为相反的bool状态? 最佳答案 ActiveRecord具有执行此操作的toggle和toggle!方法。请记住,toggle!方法会跳过验证检查。classBlogs

css - 从 ruby​​ Controller 有条件地设置 CSS 样式

我正在尝试动态更改(如果它被点击)一个普通的表头(这是一个链接)到另一个定义的CSS类“th.hilite”。此链接只是对该列进行排序,每次用户对列表进行排序时,标题都应该突出显示。应该更改相关类的View,如下所示:%table#mytable%thead%tr%th=link_to'Title',mytable_path(:sort=>'title'),:id=>'title_header'我的问题很简单:如果单击标题,我如何以及在何处将类动态设置为%th.hilite? 最佳答案 您可以直接从View绑定(bind)它:%th

ruby - 尝试调用邪恶的向导步骤时收到名称错误

我尝试重现http://railscasts.com/episodes/346-wizard-forms-with-wicked轨道广播。我尝试通过四步向导创建报告。我生成Controllerreport_steps将resources:report_steps添加到routes.rb创建步骤View现在我尝试调用它(就像在railscats中通过在浏览器的地址栏中键入localhost:3000/report_steps/step1一样)并接收:RoutingErroruninitializedconstantReportStepsController::Wicked问题是什么?我使

ruby-on-rails - 尽管安装了 therubyracer 和 nodejs,但找不到 JavaScript 运行时

我尝试在CentOS5上运行Rails应用程序并不断收到thiserror:CouldnotfindaJavaScriptruntime.Seehttps://github.com/sstephenson/execjsforalistofavailableruntimes.(ExecJS::RuntimeUnavailable)我同时安装了NodeJS(v0.8.15)和therubyracer(libv8)。这是我的gemlist:***LOCALGEMS***actionmailer(3.2.9,3.2.8)actionpack(3.2.9,3.2.8)activemodel(3.